Cookies妙用与获取

Cookies和Session的基本概念这里就不再赘述

利用Cookies直接登录网站

不少网站是需要登录,除了可以通过post的方式提交表单登录,比较简单的是可以找到网页的Cookies,放在head里直接登录,例如:

import requests
# 带cookies的请求头
headers_cookies = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36',
'Cookie': 'cookies'
}
requests.get('xxx.com',headers=headers_cookies)

获取Cookies的通用模板

也可以通过session直接拿到Cookies,这里给出通用模板函数get_COOKIE(),例如这个函数就可以轻松拿到网页的Cookies

# 得到网页的Cookies的通用函数
def get_COOKIE():
    # 保持住
    session = requests.session()
    # 加请求头,前面有说过加请求头是为了模拟浏览器正常的访问,避免被反爬虫。
    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400',
    }

    # 能够拿到COOKIE的网址
    res = session.get('xxxx.com',headers=headers)
    # 解码
    cookies = requests.utils.dict_from_cookiejar(session.cookies)
    cookies = res.cookies.get_dict()
    COOKIE = ''
    for key, val in cookies.items():
        COOKIE += (key + '=' + val + '; ')
    return COOKIE